import { createStore, applyMiddleware } from "redux"; // 创建好redux文件夹，在此文件夹下面创建store.js文件，引入createStore函数 额外这里需要引入applyMiddleware
import AllReducers from './reducers/index.ts' //引入所有仓库模块集合
import createSagaMiddleWare from "redux-saga"; //6、注意，这里其实引入的不是saga的中间件，而是中间件的创建器,就是一个普通函数
import saga from './saga/index.js' //9、引入saga的配置文件


const sagaMiddleWare = createSagaMiddleWare() //7、需要调用一次得到saga的中间件

const store = createStore(AllReducers, applyMiddleware(sagaMiddleWare)) //8、创建主仓库的同时，需要去加载刚刚配置的index的文件，必须被这个中间件读到才能发送异步请求，所以要丢到这个位置，先写的先执行，这里有先后顺序

sagaMiddleWare.run(saga) //10、调用sagaMiddleWare的一个方法  run() 把saga的配置文件丢到这里  注意，这句话要放在仓库的最后面

export default store //将主仓库暴露出去
